# -*- coding: utf-8 -*-
__author__ = 'gerry'
'''

name =u'老男孩'
name_list = [name,'test']
print(type(name))
print(len(name))
print name_list


list基本使用：






L = [1,2,3,4]
L.append('sadsa')# 追加元素
L.insert(0,'SADAS') #在固定位置插入元素
L.pop(var)  #返回最后一个元素，并从list中删除
L.remove(var) # 删除第一次出现的该元素
L.count(var)    # 该元素在列表中出现的个数
L.index(var)    #该元素的位置，否则抛出异常
L.extend(list)  # 追加list ，即合并list到L上
L.sort()    # 排序
L.reverse() #倒序

L[1:]   #片段操作符，用于子list的提取
[1,2]+[3,4]     #为[1,2，4]类似于extend
[2]*4   #为[2,2,2,2]

del L[1]    #删除指定下标的元素
del L[1:3]  #删除指定下标范围的元素
list的复制

L1 = L #L1为L的别名，用C来说就是指针地址相同
L1 = L[:]   #生成L的一个Copy












products = [
    ['Iphone',8000],
    ['Cofe',35],
    ['Clothes',800],
    ['Ipad',4000],
    ['Shoes',800],
    ['Tesla',800]

]
salary = 9000
shop_list =[]

while True:
    for index,p in enumerate(products):
        print index,p[0],p[1]
    choice = raw_input("Choose sth to buy:").strip()
    if choice.isdigit() and int(choice)<=len(products):
        choice = int(choice)
        p_price = products[choice][1]
        if p_price < salary: #affordble
            shop_list.append(products[choice])
            salary-=p_price
            print "Has added \033[31;1m%s\033[0m into shop list,your current balance is \033[31;1m%s\033[0m " %(products[choice][0],salary)
        else:
            print "\033[41;1mMoney is not enough,try sth else,jerk."
    elif choice =='quit':

        print'--------shop list------------'
        for k,v in enumerate(shop_list):
            print k,v
        print "your current balance is \033[41;1m%s\033[0m" %salary
        print('-----------bye-----------------')
        break
    elif int(choice)>len(products):
        print "----------请重新输入---------------------"
        '''

'''
#字典
D = {"name":"gerry","age":12}

D.get(key,0)    #同dict[key]，多了个没有则返回缺省值，0.[]没有则抛出异常
D.has_key(key)  #有则该键返回TRUE，否则返回FALSE
D.keys()    #返回字典键的列表
D.values()  #以列表的形式返回字典的值，返回值的列表中可包含重复元素
D.items()   #将所有的字典项以列表方式返回，这些列表中的没一项都来自于(键，值)，但是项在返回时没有特殊的顺序
D.update(dict2) #增加合并字典
D.popitem() #得到一个pair，并从字典中删除它。已经空则抛出异常
D.clear()   #清空字典，同del dict
D.copy()    #拷贝字典
D.cmp(dict1,dict2)  #比较字典,(优先级为元素个数、键大小、键值大小，第一个大返回1，小返回-1，一样返回0)
dict1 = dict #别名
dict2 = dict.copy() #克隆，即另一个拷贝


menu = {
    'Beijing': {
        'ChaoYang': {
            'CBD': ['CICC', 'CCTV'],
            'JinRongJie': [""],
            'WangJing': ['Momo', 'ChuiZI']

        },
        'HaiDian': ['Baidu', 'YouKu']

    },
    'ShangHai': {
        "PuDong": ['Ctrip', '1 Shop'],
        "PuXi": ['China Bank', 'America Bank']
    }

}


print menu.items() #转换为字典的形式输出

for k,v in menu.items(): #小的字典用这种方式
    print("----------")
for key in menu:#大的字典用这种方式，减去了一个字典转列表的过程
    print key,menu[key]

# 列表VS字典
dict:
    -查找和插入的速度极快，不会随着key的增加而增加
    -需要占用大量的内存，内存浪费比较多
    -KEY不可变
    -默认无序
list:
    -查找和插入的时间随着元素的增加而增加
    -占用的空间小，浪费内存少
    -通过下标查询
    -有序






# 元组

tuple:元素(即常量数组)
tuple =('a','b','c','d','e')
可以用list的[].':'操作符提取元素，就是不能修改元素

#set集合
特点：
    -无序
    -元素不重复
功能：
    关系测试
    去重
'''







